package com.zyk.scaffold.user.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 租户-用户-部门关系
 * </p>
 *
 * @author zhouyk
 * @since 2022-11-04
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class TenantUser extends Model<TenantUser> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 租户编码
     */
    private String tenantCode;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 用户类型：0 业务用户 1 管理用户 9 内部用户
     */
    private Integer type;

    /**
     * 账号是否可用 1-可用  0-不可用
     */
    private Boolean enable;

    /**
     * 是否长期生效：1-是；2-否
     */
    private Integer longTermEffective;

    /**
     * 有效期开始时间
     */
    private LocalDateTime effectiveStartTime;

    /**
     * 有效期结束时间
     */
    private LocalDateTime effectiveEndTime;

    /**
     * 首次创建用户ID
     */
    private Long createUser;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 最后更新用户ID
     */
    private Long updateUser;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 是、否删除
     */
    private Boolean deleted;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
